const deleteArticleApi = api.deleteArticle;

layui.use(['table', 'layer', 'form', 'laypage', 'laydate'], function () {
    var table = layui.table //表格
        , layer = layui.layer //弹层
        , form = layui.form //form表单
        , laypage = layui.laypage //分页
        , laydate = layui.laydate;//日期

    //第一个实例
    table.render({
        elem: '#demo'
        , id: 'tableReload'
        , toolbar: '#toolbarDemo'
        // ,height: 312
        , url: '/api/article/query' //数据接口
        , request: {
            pageName: 'page' //页码的参数名称，默认：page
            , limitName: 'size' //每页数据量的参数名，默认：limit
        }
        , limit: 5
        , page: {
            curr: 1
        } //开启分页
        , cols: [[ //表头
            {type: 'checkbox', fixed: 'left'}
            // , {field: 'id', title: 'ID', width: 200, sort: true, fixed: 'left'}
            , {field: 'title', title: '标题', width: 230}
            , {field: 'releaseTime', title: '发布时间', width: 171}
            , {fixed: 'right', width: 150, align: 'center', toolbar: '#oper-col'}
            // ,{templet: '#oper-col', title: '操作', width: 150}
        ]]
        , title: '图文文字管理'
    });

    // 监听toolbar的事件
    table.on('toolbar(demo)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch (obj.event) {
            case 'delAll':
                layer.msg('删除');
                break;
            case 'add':
                layer.msg('添加');
                break;
        }
        ;
    });

    // 行管理
    table.on('tool(demo)', function (obj) {
        var data = obj.data;
        switch (obj.event) {
            case 'detail':
                window.location.href = '/teacher/article/details.html?id=' + data.id;
                break;
            case 'edit':
                window.location.href = '/teacher/article/edit.html?id=' + data.id;
                break;
            case 'del':
                layer.confirm('您确定删除文章：' + data.title + ' 的数据吗？', async function (index) {
                    //向服务端发送删除指令，在这里可以使用Ajax异步
                    var res = await deleteArticleApi(data.id);
                    if (res.code == "0") {//删除成功，刷新当前页表格
                        layer.msg('删除成功', {icon: 1, time: 1500}, function () {
                            obj.del(); //删除对应行（tr）的DOM结构，并更新缓存
                            layer.close(index);
                            // $(".layui-laypage-btn").click();//点击分页刷新当前页
                        });
                    } else if (res.code == "1") {  //删除失败
                        layer.alert(res.msg, {icon: 2}, function () {
                            layer.close(index);
                            // $(".layui-laypage-btn").click();
                            window.location.reload();
                        });
                    }

                });
                break;
        }
    })

    //监听提交 lay-filter="search"
    form.on('submit(search)', function (data) {
        // layer.msg(JSON.stringify(data.field));//表格数据序列化
        var title = data.field.title;
        //数据表格重载
        table.reload('tableReload', {
            page: {
                curr: 1 //重新从第 1 页开始
            }
            , where: {//这里传参  向后台
                title: title
            }
            , url: '/api/article/query'//后台做模糊搜索接口路径
            , method: 'get'
        });
        return false;//false：阻止表单跳转  true：表单跳转
    });


});

function edit_form(title, w, h) {
    if (title == null || title == '') {
        title = false;
    }
    if (w == null || w == '') {
        w = ($(window).width() * 0.9);
    }
    if (h == null || h == '') {
        h = ($(window).height() - 50);
    }
    ;
    index = layer.open({  //layer提供了5种层类型。可传入的值有：0（信息框，默认）1（页面层）2（iframe层）3（加载层）4（tips层）
        type: 1,
        title: title,
        // area: ['25%', '55%'],//类型：String/Array，默认：'auto'  只有在宽高都定义的时候才不会自适应
        area: [w + 'px', h + 'px'],
        fix: false, //不固定
        maxmin: true,//开启最大化最小化按钮
        shadeClose: true,//点击阴影处可关闭
        shade: 0.4,//背景灰度
        skin: 'layui-layer-rim', //加上边框
        content: $("#article_formpopbox").html()
    });

}